System for on-line financial services using distributed objects

ABSTRACT

A system is disclosed for accessing recent financial information from various financial services providers. The system is based on a client/server architecture so that services are accessible from a variety of presentation tools. Communications between clients and servers are accomplished using “Interfaces” that group operations and attributes for various services. The system uses the TCP/IP protocol suite so financial services are available at any time and from any location.

[0001] This application is a continuation of U.S. patent application Ser. No. 09/520,140, filed Mar. 31, 2000, entitled SYSTEM FOR ON-LINE SERVICES USING DISTRIBUTED OBJECTS, which is a continuation of U.S. patent application Ser. No. 08/902,239, filed Jul. 29,1997, entitled SYSTEM FOR ON-LINE SERVICES USING DISTRIBUTED OBJECTS, which is now U.S. Pat. No. 6,131,115, issued Oct. 10, 2000, which is a continuation of U.S. patent application Ser. No. 08/580,074, filed Dec. 20,1995, entitled SYSTEM FOR ON-LINE FINANCIAL SERVICES USING DISTRIBUTED OBJECTS, which is now U.S. Pat. No. 5,706,442, issued Jan. 6, 1998.

BACKGROUND AND SUMMARY OF THE INVENTION

[0002] The present invention relates generally to client/server computer systems. Particularly, the present invention relates to a client/server architecture for delivering financial services to customers of various financial institutions.

[0003] Customers of various types of financial institutions such as banks, stock brokerages, credit card companies, and insurance companies often have a need to access information regarding recent account activity or their account balances. Typically, financial information is reported to customers in the form of monthly statements that list the account's activity and balance for the previous month. By the time these statements are processed and sent, they no longer reflect the current state of the account. Account balances may change on a daily basis for a variety of reasons including the addition of interest earned or the processing of a new transaction.

[0004] Customers in need of more timely information regarding their accounts usually have the option of calling a customer service representative of the financial institution to request a balance or activity report. Although the information is timely, it may be difficult or inconvenient to obtain. First, customers must call each institution from which they would like to obtain current information. When calling, they may need to wait for someone who can help. At other times, they may be required to traverse many levels of an automated attendant before reaching an option that will allow them to accomplish a specific task such as obtaining a current account balance. In either case, the information is presented verbally rather than in a written form that more closely resembles a statement. Finally, whether the information is communicated verbally or through a written statement, customers who wish to use the information in a computer program must enter it manually. In addition to the inconvenience, the process of manually entering the data is also error prone.

[0005] Customers of various financial institutions therefore, have a need to access recent financial information at their own convenience-preferably, from anywhere and at any time. Furthermore, customers have a need to see the financial data presented in an organized and understandable format similar to the monthly statement format with which customers are familiar. The present invention—Conductor^(SM) System Architecture (Conductor)—supports a suite of on-line financial services from various financial services providers. Supported services include credit card account lookup and reporting, and checking and bill paying. In addition, customers and financial services providers may communicate with each other. Finally, the financial information obtained electronically may be downloaded directly to customers' personal computers for further processing. The need for manual data entry is eliminated.

[0006] The present invention is a sophisticated computer software system based on distributed system technology. Within the system, use of the TCP/IP protocol suite for communications with major components of the system allows the financial services to be accessed through the Internet. The same services may also be accessed directly through an on-line information service such as CompuServe®. Conductor supports a distributed “information cluster” located on the global Internet so it may be accessed at any time from around the world using any one of a number of presentation tools. A variety of financial services from a number of independent financial services providers are supported by the system so that users may review activity and balances relating to different types of accounts. The ability to use a variety of presentation tools to access a suite of financial services supported by a variety of financial services providers is unique to the present invention. The advantages of the present invention and others are explained further by the accompanying drawings and detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 is a diagram of the Conductor Network illustrating the components of a financial information service system based on the Conductor System Architecture;

[0008]FIG. 2 is a block diagram of the Conductor System Architecture; and

[0009]FIG. 3 is a flowchart of the primary steps of the present invention.

DETAIL DESCRIPTION OF PREFERRED EMBODIMENTS

[0010] The Conductor System Architecture (Conductor) and its related protocols provide a robust suite of on-line Interfaces for use by applications, financial service providers, Web (hyper-text transfer protocol—HTTP) servers, and other clients to obtain and manipulate financial information for users of the system. Applying principles of modularity and abstraction, distributed systems technologies are used to define the major components of Conductor and their interrelationships to allow delivery of diverse types of financial services over a wide area network. Sources of data may be as varied as the Interfaces to it. Financial information systems using the approach of Conductor are easily extensible because Conductor is based on a platform-portable, language-independent distributed object framework. Client components and server components work in concert to provide timely financial information to users of an on-line financial information system built using Conductor. Use of the distributed approach of a client/server model permits the easy integration of new services and providers for the system. For example, server components of Conductor may easily serve as back-end resources for existing on-line service providers. The distributed approach also allows applications running in the system to be accessible through a number of presentation tools or users interfaces (collectively, clients): for example, native Microsoft® Windows® applications, Web (hyper-text mark-up language—HTML) browsers, text-terminals, X.25 transactions, even voice telephony.

[0011] Referring to FIG. 1, a diagrammatic representation of the Conductor Network is shown. The Conductor Network illustrates use of the Conductor System Architecture to provide a suite of financial services accessible through different user interfaces. Preferably, users connect to the suite of on-line financial services in the Conductor Network via the Internet 12. Methods for providing services via the Internet are well-known in the art and are not explained here. Host computers in the network are accessible world-wide from any site with TCP/IP name resolution and packet routing to the conductor com domain. Preferably, host computers running the Windows NT™ Operating System and the UNIX® Operating System are used in the distributed environment. Clients and servers may run on any of twenty operating systems.

[0012] Multiple user interfaces to applications that are part of the Conductor Network are implemented as different types of clients. As shown in FIG. 1, a user may communicate with a financial application via a Web (hyper-text markup language-HTML) browser 10 or via the CompuServe Information Service 14 using the CompuServe Information Manager for Windows® (WinCIM®) 16. Other methods of access may be used as well-for example, a native Microsoft® Windows® application.

[0013] In addition, Conductor components may include financial services that are part of an on-line information service so that they are available only to subscribers of the on-line information service.

[0014] As shown in FIG. 1, packets destined for the Conductor Network are routed 18 to a Web Server 22 for processing. Because security is a significant issue for on-line financial information systems, a Firewall 20 is established between the Router 18 and the Web Server 22. User verification and data access may then occur in a secure environment. Separate user connect/data access protocols isolate internal/external networks. An indirect method of user identification is used to secure account numbers and sensitive data are passed via two-key encryption. Token passing is used for connected host identification.

[0015] The Conductor System Architecture is itself built on a Common Object Request Broker Architecture (CORBA)-compliant Distributed Object Computing Platform. This development platform is well-known in the art and is not explained here. Primary system components include Financial Object Servers, Distributed Name (or Name Lookup) Servers, and Database Servers. Other components include Communication, Security, and Logging servers. As shown in FIG. 1, a number of Distributed Name (or Name Lookup) Servers 24, 26, 28 and Financial Object Servers 30, 32, 34 may be in operation at one time. When running, these servers may communicate with a Legacy System 38 or other Database Servers 36 in order to respond to specific requests for information. Data requests may be serviced in any one of a number of ways. For example, data may be accessed using a Microsoft® SQL Server running on Windows NT™.

[0016] Clients and servers in a Conductor based system communicate according to an application-level protocol. The application-level protocol specifies how a client interprets data sent to it by a server. Differences in the implementation of various services are hidden behind this consistent API. Within applications, the protocol for communication between various components is a call-level API. When one part of the application needs something, it calls a procedural interface in another part. Such calls do not return until the procedure has executed so the flow of control is simple and direct. Extending these synchronous procedure calls across the network interface has the advantage of simplifying the access to distributed resources by elevating it to the level of standard procedural mechanisms familiar to a majority of developers.

[0017] Clients in a Conductor system have an object-oriented Application Programming Interface (API) to the distributed resources or services using a class-like construct called an “Interface” which groups operations and attributes. Interfaces are used by applications, financial service providers, Web (hyper-text transfer protocol-HTTP) servers, and clients to obtain and manipulate financial information for users of the system. Because clients know only the nature of the Interface, it may be implemented in any manner. For example, Interfaces may be implemented in one language and clients in another. The implementation of an Interface may then be altered at will without affecting any clients. As long as the protocol to the Interface is stable, the client implementation is stable.

[0018] Clients located anywhere on the global Internet ask for and bind to services by name. Clients locate Interfaces by naming a server which implements one, and they may do so from any site with a TCP connection to the Conductor domain (conductor.com). The names of servers are provided by a name lookup Interface which runs on the only host whose name clients need to know. Following name lookup, a client begins communication with a server capable of servicing the client's specific request. The access is synchronous and call-level using either C++, Smalltalk, or C. In other words, clients access services by making standard synchronous procedure calls. Client load is automatically apportioned among all ready object servers at lookup time.

[0019] There are several benefits to using name lookup to connect clients and servers. A name lookup layer isolates clients from the location or readiness of any individual server. Although the financial information system is based on the Internet Protocol (IP), clients are completely isolated from back-end data sourcing concerns and do not need to know the IP addresses of servers. Using this approach, servers may be added simply by connecting to the network, installing system and server software, and adding the machine name to the lookup database. Consequently, clients are not affected by database, network, operating system, hardware platform, or server architectural changes. For example, native 32-bit Windows® applications may use client-side abstraction libraries that hide details of binding to and executing calls on remote servers. Servers may be implemented on cheap, fast Intel-based Windows NTTM network servers and new servers may be added to the system by copying files over and adding the host name to a single locator file. The distributed nature of the system means that it is composed of relatively simple applications that implement a single Interface or a small group of Interfaces through which clients and servers communicate.

[0020] Another benefit of using name lookup to connect clients and servers is that servers may have geographical independence. Site independence for servers means that different servers may be developed and maintained by different financial services providers. User access mechanisms provided by clients remain the same so users may access new financial services using familiar methods.

[0021] The interface between clients and servers is binary. For various reasons, a binary interface to information and services is preferable to a textual one. Such an interface is more efficient and the data may be useful in more varied applications. Binary data may be converted to text for viewing by humans, sent in binary form to other providers, or retrieved in binary form and processed by a consumer application. Binary objects may be dragged off of a window and dropped into a finance application or they may be used to generate reports.

[0022] Referring to FIG. 2, a diagram of the client and server components of a financial information system based on the Conductor System Architecture is shown. Among the server components supported by Conductor are databases. For example, financial information of interest to users of the system is contained in different databases 52, 58, 40 within the distributed environment. Each database has its own access mechanism 50, 56, 62. As explained earlier, among the methods for accessing a system based on the architecture are a Web (hyper-text markup language-HTML) browser 10 that communicates through a Web Server 22 or a native Windows® application 14.

[0023] Regardless of the user interface or client in operation (e.g., Web browser 10 or Windows application 14), a financial information request that includes the name of a financial information service 42, 44 may be transmitted from the client 10, 14 to be processed by the name server 24. In the case of the Windows application 14, the financial information request 42 may be transmitted directly to the name server 24. In the case of the Web browser 10, the financial information request may be processed through a Web server 22 that communicates with the name server 24 to determine the location of the financial server to process the request. This approach therefore allows financial services to be implemented as objects and distributed throughout a wide area network such that they may be found through the name server 24.

[0024] The Firewall 20 increases system security of applications running in the Conductor environment. The TCP/IP protocol stack 46 is the Internet communication vehicle. Another Conductor component—the Object Request Broker (ORB)—is an “information bus” that connects clients to the servers or objects they need in a heterogeneous environment. By definition, an ORB is platform independent, language neutral, and may run in many networked environments. In other words, ORBs provide interoperability between applications on different machines in a heterogeneous environment. ORBs implemented in one language may communicate with those implemented in another, on a completely different hardware platform. The same is true for the object implementations to which the ORB provides access. Three example objects are shown in FIG. 2—a card object 48, a checking object 54, and a bill pay object 60. The objects serve as links between clients 10, 14 and data contained in the databases 52, 58, 40. The name server 24 performs the name lookup function for clients so they may establish communication with the financial object that performs the needed services.

[0025] Referring now to FIG. 3, there is shown a flowchart of the primary steps of the present invention. Initially, name-financial server pairs are defined and loaded into a name lookup database on the name server 100. Name-server pairs may be added and/or modified as needed. Next, a user may be prompted for financial information such as the user's primary bank, account numbers, type of information desired (e.g., recent debit card transactions), etc. 102. The client with which the user is interacting (e.g., Web browser) may then create an electronic financial information request comprising the financial information provided by the user and the name of a financial information server that can provide the requested information 104. The electronic financial information request is then transmitted from the client to the name server 106. A database look-up is performed in accordance with the name contained in the financial information request 108. If the name of the financial information server is not found in the database 110, an error is reported to the client 112. If the name of the financial information server is found in the database 110, the financial information request is transmitted to the financial information server located during the database look-up 114. The financial information server then processes the financial information request 116 and the processed information is transmitted back to the client and ultimately, the user 118.

[0026] The distributed nature of the Conductor System Architecture means that a financial services system may be composed of relatively simple financial services applications accessible from one of several interfaces. The result of this is that each financial service application is easier to develop and maintain, and the Conductor-based financial services system at large is more flexible and robust. The present invention has been described in the form of preferred embodiments. However, several modifications and variations may be made to the invention and fall within the scope of the claims. 

What is claimed is:
 1. An on-line financial information service system based on a distributed system architecture, comprising: at least one financial information server for processing financial information requests; an identification means for said financial information server; at least one data server for processing requests for data from said financial information server; an electronic financial information request from a client comprising an identifier for locating said financial information server in accordance with said identification means for said financial information server; a server for accepting said electronic financial information request and locating said financial information server in accordance with said identification means for said financial information server; and a communication link between said client and said financial information server, said communication link established in accordance with said identification means for said financial information server.
 2. The system of claim 1 wherein said identifier is a name for said financial information server.
 3. The system of claim 1 wherein said client and said financial information server communicate in accordance with a binary interface located in accordance with said identification means.
 4. The system of claim 3 wherein said communication link between said client and said financial information server is established in accordance with said binary interface.
 5. A system for interfacing a client to one of a plurality of financial information servers, comprising: an identifier for each one of said plurality of financial information servers; a server for locating a financial information server in accordance with said identifiers; a financial information service request from said client; a first communication link between said client and said server for determining a location for one of said financial information servers associated with one of said identifiers; and a second communication link between said client and said financial information server said communication link established in accordance with said location for said financial information server.
 6. The system of claim 5 wherein said client and said financial information server communicate in accordance with a binary interface located in accordance with said identifier for said financial information server.
 7. The system of claim 6 wherein said second communication link between said client and said financial information server is established in accordance with said binary interface.
 8. A method for processing financial information requests, comprising: (a) associating a name with each of a plurality of financial information servers; (b) generating a financial information request, said request generated by a client; (c) transmitting said financial information request to a name server; looking up at said name server a location for one of said plurality of financial information servers; (d) establishing a communication link between said client and a financial information server at said location.
 9. The method of claim 8 wherein the step of establishing a communication link comprises the step of establishing a communication link in accordance with a binary interface between said client and said financial information server at said location.
 10. The method of claim 8 , wherein said financial information request includes a name for said name server.
 11. The method of claim 8 , wherein said financial information request includes a name for a financial information server.
 12. A system for processing financial information requests, comprising: a plurality of financial information objects adapted for processing financial information requests; a plurality of clients, said clients adapted for communication with said plurality of financial information objects in accordance with a named interface for each of said plurality of financial information objects; a financial information request from one of said plurality of clients, said financial information request comprising an identifier for locating a named interface for one of said plurality of financial information objects; a server associated with said identifier for locating one of said plurality of financial information objects in accordance with said named interface for said identifier; a communication link between said client requesting said financial information and said financial information object associated with said named interface, said communication link established in accordance with said named interface.
 13. The system of claim 12 wherein said named interface is binary.
 14. The system of claim 12 wherein said financial information objects are two or more selected from the group consisting of a bill pay object, a card object, and a checking object.
 15. An electronic financial information service system comprising: a first financial information server; a second financial information server; an interface adapted for communication with said first and second financial information server; a third server for locating said interface; and a client application adapted to connect to said third server to locate said interface and to communicate with said first and second financial information servers in accordance with said interface.
 16. The system of claim 15 wherein said first and second financial information servers provide the same financial services.
 17. The system of claim 15 wherein said first financial information server provides data from a first financial information services provider and said second financial information server provides data from a second financial information services provider.
 18. The system of claim 15 wherein said first financial information server and said second financial information server provide data from a first financial information services provider.
 19. The system of claim 15 wherein said first financial information server and said second financial information server are operational at geographically independent sites.
 20. The system of claim 15 wherein said first financial information server and said second financial information server are operational at the same site.
 21. The system of claim 15 wherein said client application connects to said third server by naming said third server in a financial information service request.
 22. The system of 21 wherein said financial information service request comprises a financial information server name.
 23. The system of claim 21 wherein said financial information service request comprises an identifier for a financial institution, an account number, and type of information requested.
 24. The system of 23 further comprising a financial information server name in said financial information service request.
 25. The system of claim 15 wherein said client application is selected from the group consisting of Microsoft® Windows™ applications, browsers, text-terminals applications, X.25 transactions, and telephony applications.
 26. The system of claim 21 wherein said client application is selected from the group consisting of Microsoft® Windows™ applications, browsers, text-terminals applications, X.25 transactions, and telephony applications.
 27. The system of claim 15 wherein said third server locates said interface in accordance with a name for said first financial information server.
 28. The system of claim 15 wherein said interface is binary.
 29. The system of claim 15 wherein said interface is text-based.
 30. The system of claim 15 wherein said interface is implemented as a class.
 31. The system of claim 15 wherein said interface is an object.
 32. The system of claim 15 wherein said interface groups operations and attributes.
 33. The system of claim 15 wherein said interface is procedural.
 34. The system of claim 15 wherein said first and second financial information servers operate on a Common Object Request Broker Architecture (CORBA)-compliant Distributed Object Computing Platform.
 35. The system of claim 15 wherein said client application is adapted to transmit a financial information request directly to said third server.
 36. The system of claim 35 wherein said client application is a Microsoft Windows Application.
 37. The system of claim 15 wherein said client application is adapted to transmit a financial information request through a web server to said third server.
 38. The system of claim 37 wherein said client application is a web browser.
 39. The system of claim 15 wherein said first financial information server is an object selected from the group consisting of a bill pay object, a card object, and a checking object.
 40. The system of claim 15 wherein said second financial information server is an object selected from the group consisting of a bill pay object, a card object, and a checking object.
 41. The system of claim 15 further comprising a first database server adapted to provide financial information to said first financial information server.
 42. The system of claim 41 wherein said database server is a SQL server.
 43. The system of claim 15 further comprising a second interface adapted for communication with said first financial information server.
 44. A method for obtaining financial information comprising: (a) defining an interface for communication with a first financial information server and a second financial information server; (b) connecting a client application to a third server to locate said interface; (c) connecting said client application to said first financial information server in accordance with said interface; (d) obtaining financial data from said first financial information server in accordance with said interface; (e) connecting said client application to said second financial information server in accordance with said interface; (f) obtaining financial data from said second financial information server in accordance with said interface; and (g) processing at said client application said financial data from said first and second financial information servers.
 45. The method of claim 44 wherein said first and second financial information servers provide the same financial services.
 46. The method of claim 44 wherein said first financial information server provides financial data from a first financial information services provider and said second financial information server provides financial data from a second financial information services provider.
 47. The method of claim 44 wherein said first financial information server and said second financial information server provide financial data from a first financial information services provider.
 48. The method of claim 44 wherein said first financial information server and said second financial information server are operational at geographically independent sites.
 49. The method of claim 44 wherein said first financial information server and said second financial information server are operational at the same site.
 50. The method of claim 44 wherein connecting said client application to said third server comprises connecting said client application to said third server by naming said third server in a financial information service request.
 51. The method of 50 wherein said financial information service request comprises a financial information server name.
 52. The method of claim 50 wherein said financial information service request comprises an identifier for a financial institution, an account number, and type of information requested.
 53. The method of 52 further comprising naming a financial information server in said financial information service request.
 54. The method of claim 44 wherein said client application is selected from the group consisting of Microsoft® Windows™ applications, browsers, text-terminals applications, X.25 transactions, and telephony applications.
 55. The method of claim 50 wherein said client application is selected from the group consisting of Microsoft® Windows™ applications, browsers, text-terminals applications, X.25 transactions, and telephony applications.
 56. The method of claim 44 wherein connecting a client application to a third server to locate said interface comprises locating said interface in accordance with a name for said first financial information server.
 57. The method of claim 44 wherein said interface is binary.
 58. The method of claim 44 wherein said interface is text-based.
 59. The method of claim 44 wherein said interface is implemented as a class.
 60. The method of claim 44 wherein said interface is an object.
 61. The method of claim 44 wherein said interface groups operations and attributes.
 62. The method of claim 44 wherein said interface is procedural.
 63. The method of claim 44 wherein said first and second financial information servers operate on a Common Object Request Broker Architecture (CORBA)-compliant Distributed Object Computing Platform.
 64. The method of claim 44 wherein said client application is adapted to transmit a financial information request directly to said third server.
 65. The method of claim 64 wherein said client application is a Microsoft Windows Application.
 66. The method of claim 44 wherein said client application is adapted to transmit a financial information request through a web server to said third server.
 67. The method of claim 66 wherein said client application is a web browser.
 68. The method of claim 44 wherein said first financial information server is an object selected from the group consisting of a bill pay object, a card object, and a checking object.
 69. The method of claim 44 wherein said second financial information server is an object selected from the group consisting of a bill pay object, a card object, and a checking object.
 70. The method of claim 44 further comprising a first database server adapted to provide financial information to said first financial information server.
 71. The method of claim 70 wherein said database server is a SQL server.
 72. The method of claim 44 further comprising: (h) defining a second interface adapted for communication with said first financial information server; (i) connecting said client application to said third server to locate said second interface; (j) connecting said client application to said first financial information server in accordance with said second interface; (k) obtaining financial data from said first financial information server in accordance with said second interface; and (l) displaying at said client application said financial data from said first financial information server.
 73. The method of claim 44 wherein said second interface is selected from the group consisting of binary or text-based interfaces.
 74. A method for processing financial information requests comprising: (a) transmitting a financial information request from a client application to a first server; (b) identifying a financial information server to service said financial information request; (c) locating at said first server an interface for said financial information server; (d) connecting said client application to said financial information server in accordance with said interface; (e) obtaining financial data from said financial information server in accordance with said financial information request; (f) transmitting said financial data from said financial information server to said client application; and (g) processing said financial data at said client application.
 75. The method of claim 74 wherein transmitting a financial information request from a client application to a first server comprises transmitting a financial information request from a client application to a name server.
 76. The method of claim 75 wherein identifying a financial information server to service said financial information request comprises performing a look up at said name server to identify said financial information server.
 77. The method of claim 76 wherein performing a look up comprises performing a look up using a name of a financial information server in said financial information request.
 78. The method of claim 74 wherein said financial information request comprises an identifier for a financial institution, an account number, and type of information requested.
 79. The method of claim 77 wherein said financial information request comprises an identifier for a financial institution, an account number, and type of information requested.
 80. The method of claim 74 wherein transmitting a financial information request from a client application to a first server comprises transmitting a financial information request initiated by a financial services provider from a client application to a first server.
 81. The method of claim 74 wherein transmitting a financial information request from a client application to a first server comprises transmitting a financial information request initiated by a financial services customer from a client application to a first server.
 82. The method of claim 74 wherein connecting said client application to said financial information server in accordance with said interface comprises connection said client application to said financial information server in accordance with a Common Object Request Broker Architecture (CORBA)-compliant Distributed Object Platform.
 83. The method of claim 74 wherein said client application is selected from the group consisting of Microsoft® Windows™ applications, browsers, text-terminals applications, X.25 transactions, and telephony applications.
 84. The method of claim 80 wherein said client application is selected from the group consisting of Microsoft® Windows™ applications, browsers, text-terminals applications, X.25 transactions, and telephony applications.
 85. The method of claim 81 wherein said client application is selected from the group consisting of Microsoft® Windows™ applications, browsers, text-terminals applications, X.25 transactions, and telephony applications.
 86. The method of claim 74 further comprising: (i) modifying said interface; (j) transmitting a second financial information request from said client application to said first server; (k) connecting said client application to said financial information server in accordance with said modified interface; (l) obtaining financial data from said financial information server in accordance with said second financial information request; (m) transmitting said financial data from said financial information server to said client application; and (n) processing said financial data at said client application.
 87. The method of claim 74 further comprising: (i) modifying said financial information server; (j) transmitting a second financial information request from said client application to said first server; (k) connecting said client application to said modified financial information server in accordance with said interface; (l) obtaining financial data from said modified financial information server in accordance with said second financial information request; (m) transmitting said financial data from said modified financial information server to said client application; and (n) processing said financial data at said client application.
 88. The method of claim 74 further comprising: (i) defining a second interface for said financial information server; (j) transmitting a second financial information request from said client application to said first server; (k) connecting said client application to said financial information server in accordance with said second interface; (l) obtaining financial data from said financial information server in accordance with said second financial information request; (m) transmitting said financial data from said financial information server to said client application; and (n) processing said financial data at said client application.
 89. The method of claim 88 wherein obtaining financial data from said financial information server comprises transmitting financial data from a database server to said financial information server.
 90. The method of claim 89 wherein transmitting financial data from a database server to said financial information server comprises transmitting financial data from a SQL server.
 91. The method of claim 74 further comprising: (i) defining a second financial information server; (j) transmitting a second financial information request from said client application to said first server; (k) connecting said client application to said second financial information server in accordance with said interface; (l) obtaining financial data from said second financial information server in accordance with said second financial information request; (m) transmitting said financial data from said second financial information server to said client application; and (n) processing said financial data at said client application.
 92. The method of claim 74 wherein said interface is binary.
 93. The method of claim 74 wherein said interface is text-based.
 94. The method of claim 74 wherein said interface is implemented as a class.
 95. The method of claim 74 wherein said interface is an object.
 96. The method of claim 74 wherein said interface groups operations and attributes.
 97. The method of claim 74 wherein said interface is procedural.
 98. The method of claim 74 wherein said interface defines an application-level protocol.
 99. The method of claim 74 wherein connecting said client application to said financial information server in accordance with said interface comprises communicating in accordance with synchronous procedure calls.
 100. The method of claim 74 wherein connecting said client application to said financial information server comprises connecting said client application to said financial information server in accordance with TCP/IP protocol.
 101. The method of claim 74 wherein said financial information server is an object selected from the group consisting of a card object, a checking object, and a bill pay object.
 102. The method of claim 74 wherein said financial data comprises credit and debit card, checking account, and bill paying data. 